home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / interp / perl-5.003.tar.gz / perl-5.003.tar / perl-5.003 / opcode.h < prev    next >
Text File  |  1996-02-14  |  47KB  |  2,477 lines

  1. #define pp_i_preinc pp_preinc
  2. #define pp_i_predec pp_predec
  3. #define pp_i_postinc pp_postinc
  4. #define pp_i_postdec pp_postdec
  5.  
  6. typedef enum {
  7.     OP_NULL,    /* 0 */
  8.     OP_STUB,    /* 1 */
  9.     OP_SCALAR,    /* 2 */
  10.     OP_PUSHMARK,    /* 3 */
  11.     OP_WANTARRAY,    /* 4 */
  12.     OP_CONST,    /* 5 */
  13.     OP_GVSV,    /* 6 */
  14.     OP_GV,        /* 7 */
  15.     OP_GELEM,    /* 8 */
  16.     OP_PADSV,    /* 9 */
  17.     OP_PADAV,    /* 10 */
  18.     OP_PADHV,    /* 11 */
  19.     OP_PADANY,    /* 12 */
  20.     OP_PUSHRE,    /* 13 */
  21.     OP_RV2GV,    /* 14 */
  22.     OP_RV2SV,    /* 15 */
  23.     OP_AV2ARYLEN,    /* 16 */
  24.     OP_RV2CV,    /* 17 */
  25.     OP_ANONCODE,    /* 18 */
  26.     OP_PROTOTYPE,    /* 19 */
  27.     OP_REFGEN,    /* 20 */
  28.     OP_SREFGEN,    /* 21 */
  29.     OP_REF,        /* 22 */
  30.     OP_BLESS,    /* 23 */
  31.     OP_BACKTICK,    /* 24 */
  32.     OP_GLOB,    /* 25 */
  33.     OP_READLINE,    /* 26 */
  34.     OP_RCATLINE,    /* 27 */
  35.     OP_REGCMAYBE,    /* 28 */
  36.     OP_REGCOMP,    /* 29 */
  37.     OP_MATCH,    /* 30 */
  38.     OP_SUBST,    /* 31 */
  39.     OP_SUBSTCONT,    /* 32 */
  40.     OP_TRANS,    /* 33 */
  41.     OP_SASSIGN,    /* 34 */
  42.     OP_AASSIGN,    /* 35 */
  43.     OP_CHOP,    /* 36 */
  44.     OP_SCHOP,    /* 37 */
  45.     OP_CHOMP,    /* 38 */
  46.     OP_SCHOMP,    /* 39 */
  47.     OP_DEFINED,    /* 40 */
  48.     OP_UNDEF,    /* 41 */
  49.     OP_STUDY,    /* 42 */
  50.     OP_POS,        /* 43 */
  51.     OP_PREINC,    /* 44 */
  52.     OP_I_PREINC,    /* 45 */
  53.     OP_PREDEC,    /* 46 */
  54.     OP_I_PREDEC,    /* 47 */
  55.     OP_POSTINC,    /* 48 */
  56.     OP_I_POSTINC,    /* 49 */
  57.     OP_POSTDEC,    /* 50 */
  58.     OP_I_POSTDEC,    /* 51 */
  59.     OP_POW,        /* 52 */
  60.     OP_MULTIPLY,    /* 53 */
  61.     OP_I_MULTIPLY,    /* 54 */
  62.     OP_DIVIDE,    /* 55 */
  63.     OP_I_DIVIDE,    /* 56 */
  64.     OP_MODULO,    /* 57 */
  65.     OP_I_MODULO,    /* 58 */
  66.     OP_REPEAT,    /* 59 */
  67.     OP_ADD,        /* 60 */
  68.     OP_I_ADD,    /* 61 */
  69.     OP_SUBTRACT,    /* 62 */
  70.     OP_I_SUBTRACT,    /* 63 */
  71.     OP_CONCAT,    /* 64 */
  72.     OP_STRINGIFY,    /* 65 */
  73.     OP_LEFT_SHIFT,    /* 66 */
  74.     OP_RIGHT_SHIFT,    /* 67 */
  75.     OP_LT,        /* 68 */
  76.     OP_I_LT,    /* 69 */
  77.     OP_GT,        /* 70 */
  78.     OP_I_GT,    /* 71 */
  79.     OP_LE,        /* 72 */
  80.     OP_I_LE,    /* 73 */
  81.     OP_GE,        /* 74 */
  82.     OP_I_GE,    /* 75 */
  83.     OP_EQ,        /* 76 */
  84.     OP_I_EQ,    /* 77 */
  85.     OP_NE,        /* 78 */
  86.     OP_I_NE,    /* 79 */
  87.     OP_NCMP,    /* 80 */
  88.     OP_I_NCMP,    /* 81 */
  89.     OP_SLT,        /* 82 */
  90.     OP_SGT,        /* 83 */
  91.     OP_SLE,        /* 84 */
  92.     OP_SGE,        /* 85 */
  93.     OP_SEQ,        /* 86 */
  94.     OP_SNE,        /* 87 */
  95.     OP_SCMP,    /* 88 */
  96.     OP_BIT_AND,    /* 89 */
  97.     OP_BIT_XOR,    /* 90 */
  98.     OP_BIT_OR,    /* 91 */
  99.     OP_NEGATE,    /* 92 */
  100.     OP_I_NEGATE,    /* 93 */
  101.     OP_NOT,        /* 94 */
  102.     OP_COMPLEMENT,    /* 95 */
  103.     OP_ATAN2,    /* 96 */
  104.     OP_SIN,        /* 97 */
  105.     OP_COS,        /* 98 */
  106.     OP_RAND,    /* 99 */
  107.     OP_SRAND,    /* 100 */
  108.     OP_EXP,        /* 101 */
  109.     OP_LOG,        /* 102 */
  110.     OP_SQRT,    /* 103 */
  111.     OP_INT,        /* 104 */
  112.     OP_HEX,        /* 105 */
  113.     OP_OCT,        /* 106 */
  114.     OP_ABS,        /* 107 */
  115.     OP_LENGTH,    /* 108 */
  116.     OP_SUBSTR,    /* 109 */
  117.     OP_VEC,        /* 110 */
  118.     OP_INDEX,    /* 111 */
  119.     OP_RINDEX,    /* 112 */
  120.     OP_SPRINTF,    /* 113 */
  121.     OP_FORMLINE,    /* 114 */
  122.     OP_ORD,        /* 115 */
  123.     OP_CHR,        /* 116 */
  124.     OP_CRYPT,    /* 117 */
  125.     OP_UCFIRST,    /* 118 */
  126.     OP_LCFIRST,    /* 119 */
  127.     OP_UC,        /* 120 */
  128.     OP_LC,        /* 121 */
  129.     OP_QUOTEMETA,    /* 122 */
  130.     OP_RV2AV,    /* 123 */
  131.     OP_AELEMFAST,    /* 124 */
  132.     OP_AELEM,    /* 125 */
  133.     OP_ASLICE,    /* 126 */
  134.     OP_EACH,    /* 127 */
  135.     OP_VALUES,    /* 128 */
  136.     OP_KEYS,    /* 129 */
  137.     OP_DELETE,    /* 130 */
  138.     OP_EXISTS,    /* 131 */
  139.     OP_RV2HV,    /* 132 */
  140.     OP_HELEM,    /* 133 */
  141.     OP_HSLICE,    /* 134 */
  142.     OP_UNPACK,    /* 135 */
  143.     OP_PACK,    /* 136 */
  144.     OP_SPLIT,    /* 137 */
  145.     OP_JOIN,    /* 138 */
  146.     OP_LIST,    /* 139 */
  147.     OP_LSLICE,    /* 140 */
  148.     OP_ANONLIST,    /* 141 */
  149.     OP_ANONHASH,    /* 142 */
  150.     OP_SPLICE,    /* 143 */
  151.     OP_PUSH,    /* 144 */
  152.     OP_POP,        /* 145 */
  153.     OP_SHIFT,    /* 146 */
  154.     OP_UNSHIFT,    /* 147 */
  155.     OP_SORT,    /* 148 */
  156.     OP_REVERSE,    /* 149 */
  157.     OP_GREPSTART,    /* 150 */
  158.     OP_GREPWHILE,    /* 151 */
  159.     OP_MAPSTART,    /* 152 */
  160.     OP_MAPWHILE,    /* 153 */
  161.     OP_RANGE,    /* 154 */
  162.     OP_FLIP,    /* 155 */
  163.     OP_FLOP,    /* 156 */
  164.     OP_AND,        /* 157 */
  165.     OP_OR,        /* 158 */
  166.     OP_XOR,        /* 159 */
  167.     OP_COND_EXPR,    /* 160 */
  168.     OP_ANDASSIGN,    /* 161 */
  169.     OP_ORASSIGN,    /* 162 */
  170.     OP_METHOD,    /* 163 */
  171.     OP_ENTERSUB,    /* 164 */
  172.     OP_LEAVESUB,    /* 165 */
  173.     OP_CALLER,    /* 166 */
  174.     OP_WARN,    /* 167 */
  175.     OP_DIE,        /* 168 */
  176.     OP_RESET,    /* 169 */
  177.     OP_LINESEQ,    /* 170 */
  178.     OP_NEXTSTATE,    /* 171 */
  179.     OP_DBSTATE,    /* 172 */
  180.     OP_UNSTACK,    /* 173 */
  181.     OP_ENTER,    /* 174 */
  182.     OP_LEAVE,    /* 175 */
  183.     OP_SCOPE,    /* 176 */
  184.     OP_ENTERITER,    /* 177 */
  185.     OP_ITER,    /* 178 */
  186.     OP_ENTERLOOP,    /* 179 */
  187.     OP_LEAVELOOP,    /* 180 */
  188.     OP_RETURN,    /* 181 */
  189.     OP_LAST,    /* 182 */
  190.     OP_NEXT,    /* 183 */
  191.     OP_REDO,    /* 184 */
  192.     OP_DUMP,    /* 185 */
  193.     OP_GOTO,    /* 186 */
  194.     OP_EXIT,    /* 187 */
  195.     OP_OPEN,    /* 188 */
  196.     OP_CLOSE,    /* 189 */
  197.     OP_PIPE_OP,    /* 190 */
  198.     OP_FILENO,    /* 191 */
  199.     OP_UMASK,    /* 192 */
  200.     OP_BINMODE,    /* 193 */
  201.     OP_TIE,        /* 194 */
  202.     OP_UNTIE,    /* 195 */
  203.     OP_TIED,    /* 196 */
  204.     OP_DBMOPEN,    /* 197 */
  205.     OP_DBMCLOSE,    /* 198 */
  206.     OP_SSELECT,    /* 199 */
  207.     OP_SELECT,    /* 200 */
  208.     OP_GETC,    /* 201 */
  209.     OP_READ,    /* 202 */
  210.     OP_ENTERWRITE,    /* 203 */
  211.     OP_LEAVEWRITE,    /* 204 */
  212.     OP_PRTF,    /* 205 */
  213.     OP_PRINT,    /* 206 */
  214.     OP_SYSOPEN,    /* 207 */
  215.     OP_SYSREAD,    /* 208 */
  216.     OP_SYSWRITE,    /* 209 */
  217.     OP_SEND,    /* 210 */
  218.     OP_RECV,    /* 211 */
  219.     OP_EOF,        /* 212 */
  220.     OP_TELL,    /* 213 */
  221.     OP_SEEK,    /* 214 */
  222.     OP_TRUNCATE,    /* 215 */
  223.     OP_FCNTL,    /* 216 */
  224.     OP_IOCTL,    /* 217 */
  225.     OP_FLOCK,    /* 218 */
  226.     OP_SOCKET,    /* 219 */
  227.     OP_SOCKPAIR,    /* 220 */
  228.     OP_BIND,    /* 221 */
  229.     OP_CONNECT,    /* 222 */
  230.     OP_LISTEN,    /* 223 */
  231.     OP_ACCEPT,    /* 224 */
  232.     OP_SHUTDOWN,    /* 225 */
  233.     OP_GSOCKOPT,    /* 226 */
  234.     OP_SSOCKOPT,    /* 227 */
  235.     OP_GETSOCKNAME,    /* 228 */
  236.     OP_GETPEERNAME,    /* 229 */
  237.     OP_LSTAT,    /* 230 */
  238.     OP_STAT,    /* 231 */
  239.     OP_FTRREAD,    /* 232 */
  240.     OP_FTRWRITE,    /* 233 */
  241.     OP_FTREXEC,    /* 234 */
  242.     OP_FTEREAD,    /* 235 */
  243.     OP_FTEWRITE,    /* 236 */
  244.     OP_FTEEXEC,    /* 237 */
  245.     OP_FTIS,    /* 238 */
  246.     OP_FTEOWNED,    /* 239 */
  247.     OP_FTROWNED,    /* 240 */
  248.     OP_FTZERO,    /* 241 */
  249.     OP_FTSIZE,    /* 242 */
  250.     OP_FTMTIME,    /* 243 */
  251.     OP_FTATIME,    /* 244 */
  252.     OP_FTCTIME,    /* 245 */
  253.     OP_FTSOCK,    /* 246 */
  254.     OP_FTCHR,    /* 247 */
  255.     OP_FTBLK,    /* 248 */
  256.     OP_FTFILE,    /* 249 */
  257.     OP_FTDIR,    /* 250 */
  258.     OP_FTPIPE,    /* 251 */
  259.     OP_FTLINK,    /* 252 */
  260.     OP_FTSUID,    /* 253 */
  261.     OP_FTSGID,    /* 254 */
  262.     OP_FTSVTX,    /* 255 */
  263.     OP_FTTTY,    /* 256 */
  264.     OP_FTTEXT,    /* 257 */
  265.     OP_FTBINARY,    /* 258 */
  266.     OP_CHDIR,    /* 259 */
  267.     OP_CHOWN,    /* 260 */
  268.     OP_CHROOT,    /* 261 */
  269.     OP_UNLINK,    /* 262 */
  270.     OP_CHMOD,    /* 263 */
  271.     OP_UTIME,    /* 264 */
  272.     OP_RENAME,    /* 265 */
  273.     OP_LINK,    /* 266 */
  274.     OP_SYMLINK,    /* 267 */
  275.     OP_READLINK,    /* 268 */
  276.     OP_MKDIR,    /* 269 */
  277.     OP_RMDIR,    /* 270 */
  278.     OP_OPEN_DIR,    /* 271 */
  279.     OP_READDIR,    /* 272 */
  280.     OP_TELLDIR,    /* 273 */
  281.     OP_SEEKDIR,    /* 274 */
  282.     OP_REWINDDIR,    /* 275 */
  283.     OP_CLOSEDIR,    /* 276 */
  284.     OP_FORK,    /* 277 */
  285.     OP_WAIT,    /* 278 */
  286.     OP_WAITPID,    /* 279 */
  287.     OP_SYSTEM,    /* 280 */
  288.     OP_EXEC,    /* 281 */
  289.     OP_KILL,    /* 282 */
  290.     OP_GETPPID,    /* 283 */
  291.     OP_GETPGRP,    /* 284 */
  292.     OP_SETPGRP,    /* 285 */
  293.     OP_GETPRIORITY,    /* 286 */
  294.     OP_SETPRIORITY,    /* 287 */
  295.     OP_TIME,    /* 288 */
  296.     OP_TMS,        /* 289 */
  297.     OP_LOCALTIME,    /* 290 */
  298.     OP_GMTIME,    /* 291 */
  299.     OP_ALARM,    /* 292 */
  300.     OP_SLEEP,    /* 293 */
  301.     OP_SHMGET,    /* 294 */
  302.     OP_SHMCTL,    /* 295 */
  303.     OP_SHMREAD,    /* 296 */
  304.     OP_SHMWRITE,    /* 297 */
  305.     OP_MSGGET,    /* 298 */
  306.     OP_MSGCTL,    /* 299 */
  307.     OP_MSGSND,    /* 300 */
  308.     OP_MSGRCV,    /* 301 */
  309.     OP_SEMGET,    /* 302 */
  310.     OP_SEMCTL,    /* 303 */
  311.     OP_SEMOP,    /* 304 */
  312.     OP_REQUIRE,    /* 305 */
  313.     OP_DOFILE,    /* 306 */
  314.     OP_ENTEREVAL,    /* 307 */
  315.     OP_LEAVEEVAL,    /* 308 */
  316.     OP_ENTERTRY,    /* 309 */
  317.     OP_LEAVETRY,    /* 310 */
  318.     OP_GHBYNAME,    /* 311 */
  319.     OP_GHBYADDR,    /* 312 */
  320.     OP_GHOSTENT,    /* 313 */
  321.     OP_GNBYNAME,    /* 314 */
  322.     OP_GNBYADDR,    /* 315 */
  323.     OP_GNETENT,    /* 316 */
  324.     OP_GPBYNAME,    /* 317 */
  325.     OP_GPBYNUMBER,    /* 318 */
  326.     OP_GPROTOENT,    /* 319 */
  327.     OP_GSBYNAME,    /* 320 */
  328.     OP_GSBYPORT,    /* 321 */
  329.     OP_GSERVENT,    /* 322 */
  330.     OP_SHOSTENT,    /* 323 */
  331.     OP_SNETENT,    /* 324 */
  332.     OP_SPROTOENT,    /* 325 */
  333.     OP_SSERVENT,    /* 326 */
  334.     OP_EHOSTENT,    /* 327 */
  335.     OP_ENETENT,    /* 328 */
  336.     OP_EPROTOENT,    /* 329 */
  337.     OP_ESERVENT,    /* 330 */
  338.     OP_GPWNAM,    /* 331 */
  339.     OP_GPWUID,    /* 332 */
  340.     OP_GPWENT,    /* 333 */
  341.     OP_SPWENT,    /* 334 */
  342.     OP_EPWENT,    /* 335 */
  343.     OP_GGRNAM,    /* 336 */
  344.     OP_GGRGID,    /* 337 */
  345.     OP_GGRENT,    /* 338 */
  346.     OP_SGRENT,    /* 339 */
  347.     OP_EGRENT,    /* 340 */
  348.     OP_GETLOGIN,    /* 341 */
  349.     OP_SYSCALL,    /* 342 */
  350.     OP_max        
  351. } opcode;
  352.  
  353. #define MAXO 343
  354.  
  355. #ifndef DOINIT
  356. EXT char *op_name[];
  357. #else
  358. EXT char *op_name[] = {
  359.     "null",
  360.     "stub",
  361.     "scalar",
  362.     "pushmark",
  363.     "wantarray",
  364.     "const",
  365.     "gvsv",
  366.     "gv",
  367.     "gelem",
  368.     "padsv",
  369.     "padav",
  370.     "padhv",
  371.     "padany",
  372.     "pushre",
  373.     "rv2gv",
  374.     "rv2sv",
  375.     "av2arylen",
  376.     "rv2cv",
  377.     "anoncode",
  378.     "prototype",
  379.     "refgen",
  380.     "srefgen",
  381.     "ref",
  382.     "bless",
  383.     "backtick",
  384.     "glob",
  385.     "readline",
  386.     "rcatline",
  387.     "regcmaybe",
  388.     "regcomp",
  389.     "match",
  390.     "subst",
  391.     "substcont",
  392.     "trans",
  393.     "sassign",
  394.     "aassign",
  395.     "chop",
  396.     "schop",
  397.     "chomp",
  398.     "schomp",
  399.     "defined",
  400.     "undef",
  401.     "study",
  402.     "pos",
  403.     "preinc",
  404.     "i_preinc",
  405.     "predec",
  406.     "i_predec",
  407.     "postinc",
  408.     "i_postinc",
  409.     "postdec",
  410.     "i_postdec",
  411.     "pow",
  412.     "multiply",
  413.     "i_multiply",
  414.     "divide",
  415.     "i_divide",
  416.     "modulo",
  417.     "i_modulo",
  418.     "repeat",
  419.     "add",
  420.     "i_add",
  421.     "subtract",
  422.     "i_subtract",
  423.     "concat",
  424.     "stringify",
  425.     "left_shift",
  426.     "right_shift",
  427.     "lt",
  428.     "i_lt",
  429.     "gt",
  430.     "i_gt",
  431.     "le",
  432.     "i_le",
  433.     "ge",
  434.     "i_ge",
  435.     "eq",
  436.     "i_eq",
  437.     "ne",
  438.     "i_ne",
  439.     "ncmp",
  440.     "i_ncmp",
  441.     "slt",
  442.     "sgt",
  443.     "sle",
  444.     "sge",
  445.     "seq",
  446.     "sne",
  447.     "scmp",
  448.     "bit_and",
  449.     "bit_xor",
  450.     "bit_or",
  451.     "negate",
  452.     "i_negate",
  453.     "not",
  454.     "complement",
  455.     "atan2",
  456.     "sin",
  457.     "cos",
  458.     "rand",
  459.     "srand",
  460.     "exp",
  461.     "log",
  462.     "sqrt",
  463.     "int",
  464.     "hex",
  465.     "oct",
  466.     "abs",
  467.     "length",
  468.     "substr",
  469.     "vec",
  470.     "index",
  471.     "rindex",
  472.     "sprintf",
  473.     "formline",
  474.     "ord",
  475.     "chr",
  476.     "crypt",
  477.     "ucfirst",
  478.     "lcfirst",
  479.     "uc",
  480.     "lc",
  481.     "quotemeta",
  482.     "rv2av",
  483.     "aelemfast",
  484.     "aelem",
  485.     "aslice",
  486.     "each",
  487.     "values",
  488.     "keys",
  489.     "delete",
  490.     "exists",
  491.     "rv2hv",
  492.     "helem",
  493.     "hslice",
  494.     "unpack",
  495.     "pack",
  496.     "split",
  497.     "join",
  498.     "list",
  499.     "lslice",
  500.     "anonlist",
  501.     "anonhash",
  502.     "splice",
  503.     "push",
  504.     "pop",
  505.     "shift",
  506.     "unshift",
  507.     "sort",
  508.     "reverse",
  509.     "grepstart",
  510.     "grepwhile",
  511.     "mapstart",
  512.     "mapwhile",
  513.     "range",
  514.     "flip",
  515.     "flop",
  516.     "and",
  517.     "or",
  518.     "xor",
  519.     "cond_expr",
  520.     "andassign",
  521.     "orassign",
  522.     "method",
  523.     "entersub",
  524.     "leavesub",
  525.     "caller",
  526.     "warn",
  527.     "die",
  528.     "reset",
  529.     "lineseq",
  530.     "nextstate",
  531.     "dbstate",
  532.     "unstack",
  533.     "enter",
  534.     "leave",
  535.     "scope",
  536.     "enteriter",
  537.     "iter",
  538.     "enterloop",
  539.     "leaveloop",
  540.     "return",
  541.     "last",
  542.     "next",
  543.     "redo",
  544.     "dump",
  545.     "goto",
  546.     "exit",
  547.     "open",
  548.     "close",
  549.     "pipe_op",
  550.     "fileno",
  551.     "umask",
  552.     "binmode",
  553.     "tie",
  554.     "untie",
  555.     "tied",
  556.     "dbmopen",
  557.     "dbmclose",
  558.     "sselect",
  559.     "select",
  560.     "getc",
  561.     "read",
  562.     "enterwrite",
  563.     "leavewrite",
  564.     "prtf",
  565.     "print",
  566.     "sysopen",
  567.     "sysread",
  568.     "syswrite",
  569.     "send",
  570.     "recv",
  571.     "eof",
  572.     "tell",
  573.     "seek",
  574.     "truncate",
  575.     "fcntl",
  576.     "ioctl",
  577.     "flock",
  578.     "socket",
  579.     "sockpair",
  580.     "bind",
  581.     "connect",
  582.     "listen",
  583.     "accept",
  584.     "shutdown",
  585.     "gsockopt",
  586.     "ssockopt",
  587.     "getsockname",
  588.     "getpeername",
  589.     "lstat",
  590.     "stat",
  591.     "ftrread",
  592.     "ftrwrite",
  593.     "ftrexec",
  594.     "fteread",
  595.     "ftewrite",
  596.     "fteexec",
  597.     "ftis",
  598.     "fteowned",
  599.     "ftrowned",
  600.     "ftzero",
  601.     "ftsize",
  602.     "ftmtime",
  603.     "ftatime",
  604.     "ftctime",
  605.     "ftsock",
  606.     "ftchr",
  607.     "ftblk",
  608.     "ftfile",
  609.     "ftdir",
  610.     "ftpipe",
  611.     "ftlink",
  612.     "ftsuid",
  613.     "ftsgid",
  614.     "ftsvtx",
  615.     "fttty",
  616.     "fttext",
  617.     "ftbinary",
  618.     "chdir",
  619.     "chown",
  620.     "chroot",
  621.     "unlink",
  622.     "chmod",
  623.     "utime",
  624.     "rename",
  625.     "link",
  626.     "symlink",
  627.     "readlink",
  628.     "mkdir",
  629.     "rmdir",
  630.     "open_dir",
  631.     "readdir",
  632.     "telldir",
  633.     "seekdir",
  634.     "rewinddir",
  635.     "closedir",
  636.     "fork",
  637.     "wait",
  638.     "waitpid",
  639.     "system",
  640.     "exec",
  641.     "kill",
  642.     "getppid",
  643.     "getpgrp",
  644.     "setpgrp",
  645.     "getpriority",
  646.     "setpriority",
  647.     "time",
  648.     "tms",
  649.     "localtime",
  650.     "gmtime",
  651.     "alarm",
  652.     "sleep",
  653.     "shmget",
  654.     "shmctl",
  655.     "shmread",
  656.     "shmwrite",
  657.     "msgget",
  658.     "msgctl",
  659.     "msgsnd",
  660.     "msgrcv",
  661.     "semget",
  662.     "semctl",
  663.     "semop",
  664.     "require",
  665.     "dofile",
  666.     "entereval",
  667.     "leaveeval",
  668.     "entertry",
  669.     "leavetry",
  670.     "ghbyname",
  671.     "ghbyaddr",
  672.     "ghostent",
  673.     "gnbyname",
  674.     "gnbyaddr",
  675.     "gnetent",
  676.     "gpbyname",
  677.     "gpbynumber",
  678.     "gprotoent",
  679.     "gsbyname",
  680.     "gsbyport",
  681.     "gservent",
  682.     "shostent",
  683.     "snetent",
  684.     "sprotoent",
  685.     "sservent",
  686.     "ehostent",
  687.     "enetent",
  688.     "eprotoent",
  689.     "eservent",
  690.     "gpwnam",
  691.     "gpwuid",
  692.     "gpwent",
  693.     "spwent",
  694.     "epwent",
  695.     "ggrnam",
  696.     "ggrgid",
  697.     "ggrent",
  698.     "sgrent",
  699.     "egrent",
  700.     "getlogin",
  701.     "syscall",
  702. };
  703. #endif
  704.  
  705. #ifndef DOINIT
  706. EXT char *op_desc[];
  707. #else
  708. EXT char *op_desc[] = {
  709.     "null operation",
  710.     "stub",
  711.     "scalar",
  712.     "pushmark",
  713.     "wantarray",
  714.     "constant item",
  715.     "scalar variable",
  716.     "glob value",
  717.     "glob elem",
  718.     "private variable",
  719.     "private array",
  720.     "private hash",
  721.     "private something",
  722.     "push regexp",
  723.     "ref-to-glob cast",
  724.     "scalar deref",
  725.     "array length",
  726.     "subroutine deref",
  727.     "anonymous subroutine",
  728.     "subroutine prototype",
  729.     "reference constructor",
  730.     "scalar ref constructor",
  731.     "reference-type operator",
  732.     "bless",
  733.     "backticks",
  734.     "glob",
  735.     "<HANDLE>",
  736.     "append I/O operator",
  737.     "regexp comp once",
  738.     "regexp compilation",
  739.     "pattern match",
  740.     "substitution",
  741.     "substitution cont",
  742.     "character translation",
  743.     "scalar assignment",
  744.     "list assignment",
  745.     "chop",
  746.     "scalar chop",
  747.     "safe chop",
  748.     "scalar safe chop",
  749.     "defined operator",
  750.     "undef operator",
  751.     "study",
  752.     "match position",
  753.     "preincrement",
  754.     "integer preincrement",
  755.     "predecrement",
  756.     "integer predecrement",
  757.     "postincrement",
  758.     "integer postincrement",
  759.     "postdecrement",
  760.     "integer postdecrement",
  761.     "exponentiation",
  762.     "multiplication",
  763.     "integer multiplication",
  764.     "division",
  765.     "integer division",
  766.     "modulus",
  767.     "integer modulus",
  768.     "repeat",
  769.     "addition",
  770.     "integer addition",
  771.     "subtraction",
  772.     "integer subtraction",
  773.     "concatenation",
  774.     "string",
  775.     "left bitshift",
  776.     "right bitshift",
  777.     "numeric lt",
  778.     "integer lt",
  779.     "numeric gt",
  780.     "integer gt",
  781.     "numeric le",
  782.     "integer le",
  783.     "numeric ge",
  784.     "integer ge",
  785.     "numeric eq",
  786.     "integer eq",
  787.     "numeric ne",
  788.     "integer ne",
  789.     "spaceship operator",
  790.     "integer spaceship",
  791.     "string lt",
  792.     "string gt",
  793.     "string le",
  794.     "string ge",
  795.     "string eq",
  796.     "string ne",
  797.     "string comparison",
  798.     "bitwise and",
  799.     "bitwise xor",
  800.     "bitwise or",
  801.     "negate",
  802.     "integer negate",
  803.     "not",
  804.     "1's complement",
  805.     "atan2",
  806.     "sin",
  807.     "cos",
  808.     "rand",
  809.     "srand",
  810.     "exp",
  811.     "log",
  812.     "sqrt",
  813.     "int",
  814.     "hex",
  815.     "oct",
  816.     "abs",
  817.     "length",
  818.     "substr",
  819.     "vec",
  820.     "index",
  821.     "rindex",
  822.     "sprintf",
  823.     "formline",
  824.     "ord",
  825.     "chr",
  826.     "crypt",
  827.     "upper case first",
  828.     "lower case first",
  829.     "upper case",
  830.     "lower case",
  831.     "quote metachars",
  832.     "array deref",
  833.     "known array element",
  834.     "array element",
  835.     "array slice",
  836.     "each",
  837.     "values",
  838.     "keys",
  839.     "delete",
  840.     "exists operator",
  841.     "associative array deref",
  842.     "associative array elem",
  843.     "associative array slice",
  844.     "unpack",
  845.     "pack",
  846.     "split",
  847.     "join",
  848.     "list",
  849.     "list slice",
  850.     "anonymous list",
  851.     "anonymous hash",
  852.     "splice",
  853.     "push",
  854.     "pop",
  855.     "shift",
  856.     "unshift",
  857.     "sort",
  858.     "reverse",
  859.     "grep",
  860.     "grep iterator",
  861.     "map",
  862.     "map iterator",
  863.     "flipflop",
  864.     "range (or flip)",
  865.     "range (or flop)",
  866.     "logical and",
  867.     "logical or",
  868.     "logical xor",
  869.     "conditional expression",
  870.     "logical and assignment",
  871.     "logical or assignment",
  872.     "method lookup",
  873.     "subroutine entry",
  874.     "subroutine exit",
  875.     "caller",
  876.     "warn",
  877.     "die",
  878.     "reset",
  879.     "line sequence",
  880.     "next statement",
  881.     "debug next statement",
  882.     "unstack",
  883.     "block entry",
  884.     "block exit",
  885.     "block",
  886.     "foreach loop entry",
  887.     "foreach loop iterator",
  888.     "loop entry",
  889.     "loop exit",
  890.     "return",
  891.     "last",
  892.     "next",
  893.     "redo",
  894.     "dump",
  895.     "goto",
  896.     "exit",
  897.     "open",
  898.     "close",
  899.     "pipe",
  900.     "fileno",
  901.     "umask",
  902.     "binmode",
  903.     "tie",
  904.     "untie",
  905.     "tied",
  906.     "dbmopen",
  907.     "dbmclose",
  908.     "select system call",
  909.     "select",
  910.     "getc",
  911.     "read",
  912.     "write",
  913.     "write exit",
  914.     "printf",
  915.     "print",
  916.     "sysopen",
  917.     "sysread",
  918.     "syswrite",
  919.     "send",
  920.     "recv",
  921.     "eof",
  922.     "tell",
  923.     "seek",
  924.     "truncate",
  925.     "fcntl",
  926.     "ioctl",
  927.     "flock",
  928.     "socket",
  929.     "socketpair",
  930.     "bind",
  931.     "connect",
  932.     "listen",
  933.     "accept",
  934.     "shutdown",
  935.     "getsockopt",
  936.     "setsockopt",
  937.     "getsockname",
  938.     "getpeername",
  939.     "lstat",
  940.     "stat",
  941.     "-R",
  942.     "-W",
  943.     "-X",
  944.     "-r",
  945.     "-w",
  946.     "-x",
  947.     "-e",
  948.     "-O",
  949.     "-o",
  950.     "-z",
  951.     "-s",
  952.     "-M",
  953.     "-A",
  954.     "-C",
  955.     "-S",
  956.     "-c",
  957.     "-b",
  958.     "-f",
  959.     "-d",
  960.     "-p",
  961.     "-l",
  962.     "-u",
  963.     "-g",
  964.     "-k",
  965.     "-t",
  966.     "-T",
  967.     "-B",
  968.     "chdir",
  969.     "chown",
  970.     "chroot",
  971.     "unlink",
  972.     "chmod",
  973.     "utime",
  974.     "rename",
  975.     "link",
  976.     "symlink",
  977.     "readlink",
  978.     "mkdir",
  979.     "rmdir",
  980.     "opendir",
  981.     "readdir",
  982.     "telldir",
  983.     "seekdir",
  984.     "rewinddir",
  985.     "closedir",
  986.     "fork",
  987.     "wait",
  988.     "waitpid",
  989.     "system",
  990.     "exec",
  991.     "kill",
  992.     "getppid",
  993.     "getpgrp",
  994.     "setpgrp",
  995.     "getpriority",
  996.     "setpriority",
  997.     "time",
  998.     "times",
  999.     "localtime",
  1000.     "gmtime",
  1001.     "alarm",
  1002.     "sleep",
  1003.     "shmget",
  1004.     "shmctl",
  1005.     "shmread",
  1006.     "shmwrite",
  1007.     "msgget",
  1008.     "msgctl",
  1009.     "msgsnd",
  1010.     "msgrcv",
  1011.     "semget",
  1012.     "semctl",
  1013.     "semop",
  1014.     "require",
  1015.     "do 'file'",
  1016.     "eval string",
  1017.     "eval exit",
  1018.     "eval block",
  1019.     "eval block exit",
  1020.     "gethostbyname",
  1021.     "gethostbyaddr",
  1022.     "gethostent",
  1023.     "getnetbyname",
  1024.     "getnetbyaddr",
  1025.     "getnetent",
  1026.     "getprotobyname",
  1027.     "getprotobynumber",
  1028.     "getprotoent",
  1029.     "getservbyname",
  1030.     "getservbyport",
  1031.     "getservent",
  1032.     "sethostent",
  1033.     "setnetent",
  1034.     "setprotoent",
  1035.     "setservent",
  1036.     "endhostent",
  1037.     "endnetent",
  1038.     "endprotoent",
  1039.     "endservent",
  1040.     "getpwnam",
  1041.     "getpwuid",
  1042.     "getpwent",
  1043.     "setpwent",
  1044.     "endpwent",
  1045.     "getgrnam",
  1046.     "getgrgid",
  1047.     "getgrent",
  1048.     "setgrent",
  1049.     "endgrent",
  1050.     "getlogin",
  1051.     "syscall",
  1052. };
  1053. #endif
  1054.  
  1055. OP *    ck_concat    _((OP* op));
  1056. OP *    ck_delete    _((OP* op));
  1057. OP *    ck_eof        _((OP* op));
  1058. OP *    ck_eval        _((OP* op));
  1059. OP *    ck_exec        _((OP* op));
  1060. OP *    ck_formline    _((OP* op));
  1061. OP *    ck_ftst        _((OP* op));
  1062. OP *    ck_fun        _((OP* op));
  1063. OP *    ck_glob        _((OP* op));
  1064. OP *    ck_grep        _((OP* op));
  1065. OP *    ck_index    _((OP* op));
  1066. OP *    ck_lengthconst    _((OP* op));
  1067. OP *    ck_lfun        _((OP* op));
  1068. OP *    ck_listiob    _((OP* op));
  1069. OP *    ck_match    _((OP* op));
  1070. OP *    ck_null        _((OP* op));
  1071. OP *    ck_repeat    _((OP* op));
  1072. OP *    ck_require    _((OP* op));
  1073. OP *    ck_rfun        _((OP* op));
  1074. OP *    ck_rvconst    _((OP* op));
  1075. OP *    ck_select    _((OP* op));
  1076. OP *    ck_shift    _((OP* op));
  1077. OP *    ck_sort        _((OP* op));
  1078. OP *    ck_spair    _((OP* op));
  1079. OP *    ck_split    _((OP* op));
  1080. OP *    ck_subr        _((OP* op));
  1081. OP *    ck_svconst    _((OP* op));
  1082. OP *    ck_trunc    _((OP* op));
  1083.  
  1084. OP *    pp_null        _((void));
  1085. OP *    pp_stub        _((void));
  1086. OP *    pp_scalar    _((void));
  1087. OP *    pp_pushmark    _((void));
  1088. OP *    pp_wantarray    _((void));
  1089. OP *    pp_const    _((void));
  1090. OP *    pp_gvsv        _((void));
  1091. OP *    pp_gv        _((void));
  1092. OP *    pp_gelem    _((void));
  1093. OP *    pp_padsv    _((void));
  1094. OP *    pp_padav    _((void));
  1095. OP *    pp_padhv    _((void));
  1096. OP *    pp_padany    _((void));
  1097. OP *    pp_pushre    _((void));
  1098. OP *    pp_rv2gv    _((void));
  1099. OP *    pp_rv2sv    _((void));
  1100. OP *    pp_av2arylen    _((void));
  1101. OP *    pp_rv2cv    _((void));
  1102. OP *    pp_anoncode    _((void));
  1103. OP *    pp_prototype    _((void));
  1104. OP *    pp_refgen    _((void));
  1105. OP *    pp_srefgen    _((void));
  1106. OP *    pp_ref        _((void));
  1107. OP *    pp_bless    _((void));
  1108. OP *    pp_backtick    _((void));
  1109. OP *    pp_glob        _((void));
  1110. OP *    pp_readline    _((void));
  1111. OP *    pp_rcatline    _((void));
  1112. OP *    pp_regcmaybe    _((void));
  1113. OP *    pp_regcomp    _((void));
  1114. OP *    pp_match    _((void));
  1115. OP *    pp_subst    _((void));
  1116. OP *    pp_substcont    _((void));
  1117. OP *    pp_trans    _((void));
  1118. OP *    pp_sassign    _((void));
  1119. OP *    pp_aassign    _((void));
  1120. OP *    pp_chop        _((void));
  1121. OP *    pp_schop    _((void));
  1122. OP *    pp_chomp    _((void));
  1123. OP *    pp_schomp    _((void));
  1124. OP *    pp_defined    _((void));
  1125. OP *    pp_undef    _((void));
  1126. OP *    pp_study    _((void));
  1127. OP *    pp_pos        _((void));
  1128. OP *    pp_preinc    _((void));
  1129. OP *    pp_i_preinc    _((void));
  1130. OP *    pp_predec    _((void));
  1131. OP *    pp_i_predec    _((void));
  1132. OP *    pp_postinc    _((void));
  1133. OP *    pp_i_postinc    _((void));
  1134. OP *    pp_postdec    _((void));
  1135. OP *    pp_i_postdec    _((void));
  1136. OP *    pp_pow        _((void));
  1137. OP *    pp_multiply    _((void));
  1138. OP *    pp_i_multiply    _((void));
  1139. OP *    pp_divide    _((void));
  1140. OP *    pp_i_divide    _((void));
  1141. OP *    pp_modulo    _((void));
  1142. OP *    pp_i_modulo    _((void));
  1143. OP *    pp_repeat    _((void));
  1144. OP *    pp_add        _((void));
  1145. OP *    pp_i_add    _((void));
  1146. OP *    pp_subtract    _((void));
  1147. OP *    pp_i_subtract    _((void));
  1148. OP *    pp_concat    _((void));
  1149. OP *    pp_stringify    _((void));
  1150. OP *    pp_left_shift    _((void));
  1151. OP *    pp_right_shift    _((void));
  1152. OP *    pp_lt        _((void));
  1153. OP *    pp_i_lt        _((void));
  1154. OP *    pp_gt        _((void));
  1155. OP *    pp_i_gt        _((void));
  1156. OP *    pp_le        _((void));
  1157. OP *    pp_i_le        _((void));
  1158. OP *    pp_ge        _((void));
  1159. OP *    pp_i_ge        _((void));
  1160. OP *    pp_eq        _((void));
  1161. OP *    pp_i_eq        _((void));
  1162. OP *    pp_ne        _((void));
  1163. OP *    pp_i_ne        _((void));
  1164. OP *    pp_ncmp        _((void));
  1165. OP *    pp_i_ncmp    _((void));
  1166. OP *    pp_slt        _((void));
  1167. OP *    pp_sgt        _((void));
  1168. OP *    pp_sle        _((void));
  1169. OP *    pp_sge        _((void));
  1170. OP *    pp_seq        _((void));
  1171. OP *    pp_sne        _((void));
  1172. OP *    pp_scmp        _((void));
  1173. OP *    pp_bit_and    _((void));
  1174. OP *    pp_bit_xor    _((void));
  1175. OP *    pp_bit_or    _((void));
  1176. OP *    pp_negate    _((void));
  1177. OP *    pp_i_negate    _((void));
  1178. OP *    pp_not        _((void));
  1179. OP *    pp_complement    _((void));
  1180. OP *    pp_atan2    _((void));
  1181. OP *    pp_sin        _((void));
  1182. OP *    pp_cos        _((void));
  1183. OP *    pp_rand        _((void));
  1184. OP *    pp_srand    _((void));
  1185. OP *    pp_exp        _((void));
  1186. OP *    pp_log        _((void));
  1187. OP *    pp_sqrt        _((void));
  1188. OP *    pp_int        _((void));
  1189. OP *    pp_hex        _((void));
  1190. OP *    pp_oct        _((void));
  1191. OP *    pp_abs        _((void));
  1192. OP *    pp_length    _((void));
  1193. OP *    pp_substr    _((void));
  1194. OP *    pp_vec        _((void));
  1195. OP *    pp_index    _((void));
  1196. OP *    pp_rindex    _((void));
  1197. OP *    pp_sprintf    _((void));
  1198. OP *    pp_formline    _((void));
  1199. OP *    pp_ord        _((void));
  1200. OP *    pp_chr        _((void));
  1201. OP *    pp_crypt    _((void));
  1202. OP *    pp_ucfirst    _((void));
  1203. OP *    pp_lcfirst    _((void));
  1204. OP *    pp_uc        _((void));
  1205. OP *    pp_lc        _((void));
  1206. OP *    pp_quotemeta    _((void));
  1207. OP *    pp_rv2av    _((void));
  1208. OP *    pp_aelemfast    _((void));
  1209. OP *    pp_aelem    _((void));
  1210. OP *    pp_aslice    _((void));
  1211. OP *    pp_each        _((void));
  1212. OP *    pp_values    _((void));
  1213. OP *    pp_keys        _((void));
  1214. OP *    pp_delete    _((void));
  1215. OP *    pp_exists    _((void));
  1216. OP *    pp_rv2hv    _((void));
  1217. OP *    pp_helem    _((void));
  1218. OP *    pp_hslice    _((void));
  1219. OP *    pp_unpack    _((void));
  1220. OP *    pp_pack        _((void));
  1221. OP *    pp_split    _((void));
  1222. OP *    pp_join        _((void));
  1223. OP *    pp_list        _((void));
  1224. OP *    pp_lslice    _((void));
  1225. OP *    pp_anonlist    _((void));
  1226. OP *    pp_anonhash    _((void));
  1227. OP *    pp_splice    _((void));
  1228. OP *    pp_push        _((void));
  1229. OP *    pp_pop        _((void));
  1230. OP *    pp_shift    _((void));
  1231. OP *    pp_unshift    _((void));
  1232. OP *    pp_sort        _((void));
  1233. OP *    pp_reverse    _((void));
  1234. OP *    pp_grepstart    _((void));
  1235. OP *    pp_grepwhile    _((void));
  1236. OP *    pp_mapstart    _((void));
  1237. OP *    pp_mapwhile    _((void));
  1238. OP *    pp_range    _((void));
  1239. OP *    pp_flip        _((void));
  1240. OP *    pp_flop        _((void));
  1241. OP *    pp_and        _((void));
  1242. OP *    pp_or        _((void));
  1243. OP *    pp_xor        _((void));
  1244. OP *    pp_cond_expr    _((void));
  1245. OP *    pp_andassign    _((void));
  1246. OP *    pp_orassign    _((void));
  1247. OP *    pp_method    _((void));
  1248. OP *    pp_entersub    _((void));
  1249. OP *    pp_leavesub    _((void));
  1250. OP *    pp_caller    _((void));
  1251. OP *    pp_warn        _((void));
  1252. OP *    pp_die        _((void));
  1253. OP *    pp_reset    _((void));
  1254. OP *    pp_lineseq    _((void));
  1255. OP *    pp_nextstate    _((void));
  1256. OP *    pp_dbstate    _((void));
  1257. OP *    pp_unstack    _((void));
  1258. OP *    pp_enter    _((void));
  1259. OP *    pp_leave    _((void));
  1260. OP *    pp_scope    _((void));
  1261. OP *    pp_enteriter    _((void));
  1262. OP *    pp_iter        _((void));
  1263. OP *    pp_enterloop    _((void));
  1264. OP *    pp_leaveloop    _((void));
  1265. OP *    pp_return    _((void));
  1266. OP *    pp_last        _((void));
  1267. OP *    pp_next        _((void));
  1268. OP *    pp_redo        _((void));
  1269. OP *    pp_dump        _((void));
  1270. OP *    pp_goto        _((void));
  1271. OP *    pp_exit        _((void));
  1272. OP *    pp_open        _((void));
  1273. OP *    pp_close    _((void));
  1274. OP *    pp_pipe_op    _((void));
  1275. OP *    pp_fileno    _((void));
  1276. OP *    pp_umask    _((void));
  1277. OP *    pp_binmode    _((void));
  1278. OP *    pp_tie        _((void));
  1279. OP *    pp_untie    _((void));
  1280. OP *    pp_tied        _((void));
  1281. OP *    pp_dbmopen    _((void));
  1282. OP *    pp_dbmclose    _((void));
  1283. OP *    pp_sselect    _((void));
  1284. OP *    pp_select    _((void));
  1285. OP *    pp_getc        _((void));
  1286. OP *    pp_read        _((void));
  1287. OP *    pp_enterwrite    _((void));
  1288. OP *    pp_leavewrite    _((void));
  1289. OP *    pp_prtf        _((void));
  1290. OP *    pp_print    _((void));
  1291. OP *    pp_sysopen    _((void));
  1292. OP *    pp_sysread    _((void));
  1293. OP *    pp_syswrite    _((void));
  1294. OP *    pp_send        _((void));
  1295. OP *    pp_recv        _((void));
  1296. OP *    pp_eof        _((void));
  1297. OP *    pp_tell        _((void));
  1298. OP *    pp_seek        _((void));
  1299. OP *    pp_truncate    _((void));
  1300. OP *    pp_fcntl    _((void));
  1301. OP *    pp_ioctl    _((void));
  1302. OP *    pp_flock    _((void));
  1303. OP *    pp_socket    _((void));
  1304. OP *    pp_sockpair    _((void));
  1305. OP *    pp_bind        _((void));
  1306. OP *    pp_connect    _((void));
  1307. OP *    pp_listen    _((void));
  1308. OP *    pp_accept    _((void));
  1309. OP *    pp_shutdown    _((void));
  1310. OP *    pp_gsockopt    _((void));
  1311. OP *    pp_ssockopt    _((void));
  1312. OP *    pp_getsockname    _((void));
  1313. OP *    pp_getpeername    _((void));
  1314. OP *    pp_lstat    _((void));
  1315. OP *    pp_stat        _((void));
  1316. OP *    pp_ftrread    _((void));
  1317. OP *    pp_ftrwrite    _((void));
  1318. OP *    pp_ftrexec    _((void));
  1319. OP *    pp_fteread    _((void));
  1320. OP *    pp_ftewrite    _((void));
  1321. OP *    pp_fteexec    _((void));
  1322. OP *    pp_ftis        _((void));
  1323. OP *    pp_fteowned    _((void));
  1324. OP *    pp_ftrowned    _((void));
  1325. OP *    pp_ftzero    _((void));
  1326. OP *    pp_ftsize    _((void));
  1327. OP *    pp_ftmtime    _((void));
  1328. OP *    pp_ftatime    _((void));
  1329. OP *    pp_ftctime    _((void));
  1330. OP *    pp_ftsock    _((void));
  1331. OP *    pp_ftchr    _((void));
  1332. OP *    pp_ftblk    _((void));
  1333. OP *    pp_ftfile    _((void));
  1334. OP *    pp_ftdir    _((void));
  1335. OP *    pp_ftpipe    _((void));
  1336. OP *    pp_ftlink    _((void));
  1337. OP *    pp_ftsuid    _((void));
  1338. OP *    pp_ftsgid    _((void));
  1339. OP *    pp_ftsvtx    _((void));
  1340. OP *    pp_fttty    _((void));
  1341. OP *    pp_fttext    _((void));
  1342. OP *    pp_ftbinary    _((void));
  1343. OP *    pp_chdir    _((void));
  1344. OP *    pp_chown    _((void));
  1345. OP *    pp_chroot    _((void));
  1346. OP *    pp_unlink    _((void));
  1347. OP *    pp_chmod    _((void));
  1348. OP *    pp_utime    _((void));
  1349. OP *    pp_rename    _((void));
  1350. OP *    pp_link        _((void));
  1351. OP *    pp_symlink    _((void));
  1352. OP *    pp_readlink    _((void));
  1353. OP *    pp_mkdir    _((void));
  1354. OP *    pp_rmdir    _((void));
  1355. OP *    pp_open_dir    _((void));
  1356. OP *    pp_readdir    _((void));
  1357. OP *    pp_telldir    _((void));
  1358. OP *    pp_seekdir    _((void));
  1359. OP *    pp_rewinddir    _((void));
  1360. OP *    pp_closedir    _((void));
  1361. OP *    pp_fork        _((void));
  1362. OP *    pp_wait        _((void));
  1363. OP *    pp_waitpid    _((void));
  1364. OP *    pp_system    _((void));
  1365. OP *    pp_exec        _((void));
  1366. OP *    pp_kill        _((void));
  1367. OP *    pp_getppid    _((void));
  1368. OP *    pp_getpgrp    _((void));
  1369. OP *    pp_setpgrp    _((void));
  1370. OP *    pp_getpriority    _((void));
  1371. OP *    pp_setpriority    _((void));
  1372. OP *    pp_time        _((void));
  1373. OP *    pp_tms        _((void));
  1374. OP *    pp_localtime    _((void));
  1375. OP *    pp_gmtime    _((void));
  1376. OP *    pp_alarm    _((void));
  1377. OP *    pp_sleep    _((void));
  1378. OP *    pp_shmget    _((void));
  1379. OP *    pp_shmctl    _((void));
  1380. OP *    pp_shmread    _((void));
  1381. OP *    pp_shmwrite    _((void));
  1382. OP *    pp_msgget    _((void));
  1383. OP *    pp_msgctl    _((void));
  1384. OP *    pp_msgsnd    _((void));
  1385. OP *    pp_msgrcv    _((void));
  1386. OP *    pp_semget    _((void));
  1387. OP *    pp_semctl    _((void));
  1388. OP *    pp_semop    _((void));
  1389. OP *    pp_require    _((void));
  1390. OP *    pp_dofile    _((void));
  1391. OP *    pp_entereval    _((void));
  1392. OP *    pp_leaveeval    _((void));
  1393. OP *    pp_entertry    _((void));
  1394. OP *    pp_leavetry    _((void));
  1395. OP *    pp_ghbyname    _((void));
  1396. OP *    pp_ghbyaddr    _((void));
  1397. OP *    pp_ghostent    _((void));
  1398. OP *    pp_gnbyname    _((void));
  1399. OP *    pp_gnbyaddr    _((void));
  1400. OP *    pp_gnetent    _((void));
  1401. OP *    pp_gpbyname    _((void));
  1402. OP *    pp_gpbynumber    _((void));
  1403. OP *    pp_gprotoent    _((void));
  1404. OP *    pp_gsbyname    _((void));
  1405. OP *    pp_gsbyport    _((void));
  1406. OP *    pp_gservent    _((void));
  1407. OP *    pp_shostent    _((void));
  1408. OP *    pp_snetent    _((void));
  1409. OP *    pp_sprotoent    _((void));
  1410. OP *    pp_sservent    _((void));
  1411. OP *    pp_ehostent    _((void));
  1412. OP *    pp_enetent    _((void));
  1413. OP *    pp_eprotoent    _((void));
  1414. OP *    pp_eservent    _((void));
  1415. OP *    pp_gpwnam    _((void));
  1416. OP *    pp_gpwuid    _((void));
  1417. OP *    pp_gpwent    _((void));
  1418. OP *    pp_spwent    _((void));
  1419. OP *    pp_epwent    _((void));
  1420. OP *    pp_ggrnam    _((void));
  1421. OP *    pp_ggrgid    _((void));
  1422. OP *    pp_ggrent    _((void));
  1423. OP *    pp_sgrent    _((void));
  1424. OP *    pp_egrent    _((void));
  1425. OP *    pp_getlogin    _((void));
  1426. OP *    pp_syscall    _((void));
  1427.  
  1428. #ifndef DOINIT
  1429. EXT OP * (*ppaddr[])();
  1430. #else
  1431. EXT OP * (*ppaddr[])() = {
  1432.     pp_null,
  1433.     pp_stub,
  1434.     pp_scalar,
  1435.     pp_pushmark,
  1436.     pp_wantarray,
  1437.     pp_const,
  1438.     pp_gvsv,
  1439.     pp_gv,
  1440.     pp_gelem,
  1441.     pp_padsv,
  1442.     pp_padav,
  1443.     pp_padhv,
  1444.     pp_padany,
  1445.     pp_pushre,
  1446.     pp_rv2gv,
  1447.     pp_rv2sv,
  1448.     pp_av2arylen,
  1449.     pp_rv2cv,
  1450.     pp_anoncode,
  1451.     pp_prototype,
  1452.     pp_refgen,
  1453.     pp_srefgen,
  1454.     pp_ref,
  1455.     pp_bless,
  1456.     pp_backtick,
  1457.     pp_glob,
  1458.     pp_readline,
  1459.     pp_rcatline,
  1460.     pp_regcmaybe,
  1461.     pp_regcomp,
  1462.     pp_match,
  1463.     pp_subst,
  1464.     pp_substcont,
  1465.     pp_trans,
  1466.     pp_sassign,
  1467.     pp_aassign,
  1468.     pp_chop,
  1469.     pp_schop,
  1470.     pp_chomp,
  1471.     pp_schomp,
  1472.     pp_defined,
  1473.     pp_undef,
  1474.     pp_study,
  1475.     pp_pos,
  1476.     pp_preinc,
  1477.     pp_i_preinc,
  1478.     pp_predec,
  1479.     pp_i_predec,
  1480.     pp_postinc,
  1481.     pp_i_postinc,
  1482.     pp_postdec,
  1483.     pp_i_postdec,
  1484.     pp_pow,
  1485.     pp_multiply,
  1486.     pp_i_multiply,
  1487.     pp_divide,
  1488.     pp_i_divide,
  1489.     pp_modulo,
  1490.     pp_i_modulo,
  1491.     pp_repeat,
  1492.     pp_add,
  1493.     pp_i_add,
  1494.     pp_subtract,
  1495.     pp_i_subtract,
  1496.     pp_concat,
  1497.     pp_stringify,
  1498.     pp_left_shift,
  1499.     pp_right_shift,
  1500.     pp_lt,
  1501.     pp_i_lt,
  1502.     pp_gt,
  1503.     pp_i_gt,
  1504.     pp_le,
  1505.     pp_i_le,
  1506.     pp_ge,
  1507.     pp_i_ge,
  1508.     pp_eq,
  1509.     pp_i_eq,
  1510.     pp_ne,
  1511.     pp_i_ne,
  1512.     pp_ncmp,
  1513.     pp_i_ncmp,
  1514.     pp_slt,
  1515.     pp_sgt,
  1516.     pp_sle,
  1517.     pp_sge,
  1518.     pp_seq,
  1519.     pp_sne,
  1520.     pp_scmp,
  1521.     pp_bit_and,
  1522.     pp_bit_xor,
  1523.     pp_bit_or,
  1524.     pp_negate,
  1525.     pp_i_negate,
  1526.     pp_not,
  1527.     pp_complement,
  1528.     pp_atan2,
  1529.     pp_sin,
  1530.     pp_cos,
  1531.     pp_rand,
  1532.     pp_srand,
  1533.     pp_exp,
  1534.     pp_log,
  1535.     pp_sqrt,
  1536.     pp_int,
  1537.     pp_hex,
  1538.     pp_oct,
  1539.     pp_abs,
  1540.     pp_length,
  1541.     pp_substr,
  1542.     pp_vec,
  1543.     pp_index,
  1544.     pp_rindex,
  1545.     pp_sprintf,
  1546.     pp_formline,
  1547.     pp_ord,
  1548.     pp_chr,
  1549.     pp_crypt,
  1550.     pp_ucfirst,
  1551.     pp_lcfirst,
  1552.     pp_uc,
  1553.     pp_lc,
  1554.     pp_quotemeta,
  1555.     pp_rv2av,
  1556.     pp_aelemfast,
  1557.     pp_aelem,
  1558.     pp_aslice,
  1559.     pp_each,
  1560.     pp_values,
  1561.     pp_keys,
  1562.     pp_delete,
  1563.     pp_exists,
  1564.     pp_rv2hv,
  1565.     pp_helem,
  1566.     pp_hslice,
  1567.     pp_unpack,
  1568.     pp_pack,
  1569.     pp_split,
  1570.     pp_join,
  1571.     pp_list,
  1572.     pp_lslice,
  1573.     pp_anonlist,
  1574.     pp_anonhash,
  1575.     pp_splice,
  1576.     pp_push,
  1577.     pp_pop,
  1578.     pp_shift,
  1579.     pp_unshift,
  1580.     pp_sort,
  1581.     pp_reverse,
  1582.     pp_grepstart,
  1583.     pp_grepwhile,
  1584.     pp_mapstart,
  1585.     pp_mapwhile,
  1586.     pp_range,
  1587.     pp_flip,
  1588.     pp_flop,
  1589.     pp_and,
  1590.     pp_or,
  1591.     pp_xor,
  1592.     pp_cond_expr,
  1593.     pp_andassign,
  1594.     pp_orassign,
  1595.     pp_method,
  1596.     pp_entersub,
  1597.     pp_leavesub,
  1598.     pp_caller,
  1599.     pp_warn,
  1600.     pp_die,
  1601.     pp_reset,
  1602.     pp_lineseq,
  1603.     pp_nextstate,
  1604.     pp_dbstate,
  1605.     pp_unstack,
  1606.     pp_enter,
  1607.     pp_leave,
  1608.     pp_scope,
  1609.     pp_enteriter,
  1610.     pp_iter,
  1611.     pp_enterloop,
  1612.     pp_leaveloop,
  1613.     pp_return,
  1614.     pp_last,
  1615.     pp_next,
  1616.     pp_redo,
  1617.     pp_dump,
  1618.     pp_goto,
  1619.     pp_exit,
  1620.     pp_open,
  1621.     pp_close,
  1622.     pp_pipe_op,
  1623.     pp_fileno,
  1624.     pp_umask,
  1625.     pp_binmode,
  1626.     pp_tie,
  1627.     pp_untie,
  1628.     pp_tied,
  1629.     pp_dbmopen,
  1630.     pp_dbmclose,
  1631.     pp_sselect,
  1632.     pp_select,
  1633.     pp_getc,
  1634.     pp_read,
  1635.     pp_enterwrite,
  1636.     pp_leavewrite,
  1637.     pp_prtf,
  1638.     pp_print,
  1639.     pp_sysopen,
  1640.     pp_sysread,
  1641.     pp_syswrite,
  1642.     pp_send,
  1643.     pp_recv,
  1644.     pp_eof,
  1645.     pp_tell,
  1646.     pp_seek,
  1647.     pp_truncate,
  1648.     pp_fcntl,
  1649.     pp_ioctl,
  1650.     pp_flock,
  1651.     pp_socket,
  1652.     pp_sockpair,
  1653.     pp_bind,
  1654.     pp_connect,
  1655.     pp_listen,
  1656.     pp_accept,
  1657.     pp_shutdown,
  1658.     pp_gsockopt,
  1659.     pp_ssockopt,
  1660.     pp_getsockname,
  1661.     pp_getpeername,
  1662.     pp_lstat,
  1663.     pp_stat,
  1664.     pp_ftrread,
  1665.     pp_ftrwrite,
  1666.     pp_ftrexec,
  1667.     pp_fteread,
  1668.     pp_ftewrite,
  1669.     pp_fteexec,
  1670.     pp_ftis,
  1671.     pp_fteowned,
  1672.     pp_ftrowned,
  1673.     pp_ftzero,
  1674.     pp_ftsize,
  1675.     pp_ftmtime,
  1676.     pp_ftatime,
  1677.     pp_ftctime,
  1678.     pp_ftsock,
  1679.     pp_ftchr,
  1680.     pp_ftblk,
  1681.     pp_ftfile,
  1682.     pp_ftdir,
  1683.     pp_ftpipe,
  1684.     pp_ftlink,
  1685.     pp_ftsuid,
  1686.     pp_ftsgid,
  1687.     pp_ftsvtx,
  1688.     pp_fttty,
  1689.     pp_fttext,
  1690.     pp_ftbinary,
  1691.     pp_chdir,
  1692.     pp_chown,
  1693.     pp_chroot,
  1694.     pp_unlink,
  1695.     pp_chmod,
  1696.     pp_utime,
  1697.     pp_rename,
  1698.     pp_link,
  1699.     pp_symlink,
  1700.     pp_readlink,
  1701.     pp_mkdir,
  1702.     pp_rmdir,
  1703.     pp_open_dir,
  1704.     pp_readdir,
  1705.     pp_telldir,
  1706.     pp_seekdir,
  1707.     pp_rewinddir,
  1708.     pp_closedir,
  1709.     pp_fork,
  1710.     pp_wait,
  1711.     pp_waitpid,
  1712.     pp_system,
  1713.     pp_exec,
  1714.     pp_kill,
  1715.     pp_getppid,
  1716.     pp_getpgrp,
  1717.     pp_setpgrp,
  1718.     pp_getpriority,
  1719.     pp_setpriority,
  1720.     pp_time,
  1721.     pp_tms,
  1722.     pp_localtime,
  1723.     pp_gmtime,
  1724.     pp_alarm,
  1725.     pp_sleep,
  1726.     pp_shmget,
  1727.     pp_shmctl,
  1728.     pp_shmread,
  1729.     pp_shmwrite,
  1730.     pp_msgget,
  1731.     pp_msgctl,
  1732.     pp_msgsnd,
  1733.     pp_msgrcv,
  1734.     pp_semget,
  1735.     pp_semctl,
  1736.     pp_semop,
  1737.     pp_require,
  1738.     pp_dofile,
  1739.     pp_entereval,
  1740.     pp_leaveeval,
  1741.     pp_entertry,
  1742.     pp_leavetry,
  1743.     pp_ghbyname,
  1744.     pp_ghbyaddr,
  1745.     pp_ghostent,
  1746.     pp_gnbyname,
  1747.     pp_gnbyaddr,
  1748.     pp_gnetent,
  1749.     pp_gpbyname,
  1750.     pp_gpbynumber,
  1751.     pp_gprotoent,
  1752.     pp_gsbyname,
  1753.     pp_gsbyport,
  1754.     pp_gservent,
  1755.     pp_shostent,
  1756.     pp_snetent,
  1757.     pp_sprotoent,
  1758.     pp_sservent,
  1759.     pp_ehostent,
  1760.     pp_enetent,
  1761.     pp_eprotoent,
  1762.     pp_eservent,
  1763.     pp_gpwnam,
  1764.     pp_gpwuid,
  1765.     pp_gpwent,
  1766.     pp_spwent,
  1767.     pp_epwent,
  1768.     pp_ggrnam,
  1769.     pp_ggrgid,
  1770.     pp_ggrent,
  1771.     pp_sgrent,
  1772.     pp_egrent,
  1773.     pp_getlogin,
  1774.     pp_syscall,
  1775. };
  1776. #endif
  1777.  
  1778. #ifndef DOINIT
  1779. EXT OP * (*check[])();
  1780. #else
  1781. EXT OP * (*check[])() = {
  1782.     ck_null,    /* null */
  1783.     ck_null,    /* stub */
  1784.     ck_fun,        /* scalar */
  1785.     ck_null,    /* pushmark */
  1786.     ck_null,    /* wantarray */
  1787.     ck_svconst,    /* const */
  1788.     ck_null,    /* gvsv */
  1789.     ck_null,    /* gv */
  1790.     ck_null,    /* gelem */
  1791.     ck_null,    /* padsv */
  1792.     ck_null,    /* padav */
  1793.     ck_null,    /* padhv */
  1794.     ck_null,    /* padany */
  1795.     ck_null,    /* pushre */
  1796.     ck_rvconst,    /* rv2gv */
  1797.     ck_rvconst,    /* rv2sv */
  1798.     ck_null,    /* av2arylen */
  1799.     ck_rvconst,    /* rv2cv */
  1800.     ck_null,    /* anoncode */
  1801.     ck_null,    /* prototype */
  1802.     ck_spair,    /* refgen */
  1803.     ck_null,    /* srefgen */
  1804.     ck_fun,        /* ref */
  1805.     ck_fun,        /* bless */
  1806.     ck_null,    /* backtick */
  1807.     ck_glob,    /* glob */
  1808.     ck_null,    /* readline */
  1809.     ck_null,    /* rcatline */
  1810.     ck_fun,        /* regcmaybe */
  1811.     ck_null,    /* regcomp */
  1812.     ck_match,    /* match */
  1813.     ck_null,    /* subst */
  1814.     ck_null,    /* substcont */
  1815.     ck_null,    /* trans */
  1816.     ck_null,    /* sassign */
  1817.     ck_null,    /* aassign */
  1818.     ck_spair,    /* chop */
  1819.     ck_null,    /* schop */
  1820.     ck_spair,    /* chomp */
  1821.     ck_null,    /* schomp */
  1822.     ck_rfun,    /* defined */
  1823.     ck_lfun,    /* undef */
  1824.     ck_fun,        /* study */
  1825.     ck_lfun,    /* pos */
  1826.     ck_lfun,    /* preinc */
  1827.     ck_lfun,    /* i_preinc */
  1828.     ck_lfun,    /* predec */
  1829.     ck_lfun,    /* i_predec */
  1830.     ck_lfun,    /* postinc */
  1831.     ck_lfun,    /* i_postinc */
  1832.     ck_lfun,    /* postdec */
  1833.     ck_lfun,    /* i_postdec */
  1834.     ck_null,    /* pow */
  1835.     ck_null,    /* multiply */
  1836.     ck_null,    /* i_multiply */
  1837.     ck_null,    /* divide */
  1838.     ck_null,    /* i_divide */
  1839.     ck_null,    /* modulo */
  1840.     ck_null,    /* i_modulo */
  1841.     ck_repeat,    /* repeat */
  1842.     ck_null,    /* add */
  1843.     ck_null,    /* i_add */
  1844.     ck_null,    /* subtract */
  1845.     ck_null,    /* i_subtract */
  1846.     ck_concat,    /* concat */
  1847.     ck_fun,        /* stringify */
  1848.     ck_null,    /* left_shift */
  1849.     ck_null,    /* right_shift */
  1850.     ck_null,    /* lt */
  1851.     ck_null,    /* i_lt */
  1852.     ck_null,    /* gt */
  1853.     ck_null,    /* i_gt */
  1854.     ck_null,    /* le */
  1855.     ck_null,    /* i_le */
  1856.     ck_null,    /* ge */
  1857.     ck_null,    /* i_ge */
  1858.     ck_null,    /* eq */
  1859.     ck_null,    /* i_eq */
  1860.     ck_null,    /* ne */
  1861.     ck_null,    /* i_ne */
  1862.     ck_null,    /* ncmp */
  1863.     ck_null,    /* i_ncmp */
  1864.     ck_null,    /* slt */
  1865.     ck_null,    /* sgt */
  1866.     ck_null,    /* sle */
  1867.     ck_null,    /* sge */
  1868.     ck_null,    /* seq */
  1869.     ck_null,    /* sne */
  1870.     ck_null,    /* scmp */
  1871.     ck_null,    /* bit_and */
  1872.     ck_null,    /* bit_xor */
  1873.     ck_null,    /* bit_or */
  1874.     ck_null,    /* negate */
  1875.     ck_null,    /* i_negate */
  1876.     ck_null,    /* not */
  1877.     ck_null,    /* complement */
  1878.     ck_fun,        /* atan2 */
  1879.     ck_fun,        /* sin */
  1880.     ck_fun,        /* cos */
  1881.     ck_fun,        /* rand */
  1882.     ck_fun,        /* srand */
  1883.     ck_fun,        /* exp */
  1884.     ck_fun,        /* log */
  1885.     ck_fun,        /* sqrt */
  1886.     ck_fun,        /* int */
  1887.     ck_fun,        /* hex */
  1888.     ck_fun,        /* oct */
  1889.     ck_fun,        /* abs */
  1890.     ck_lengthconst,    /* length */
  1891.     ck_fun,        /* substr */
  1892.     ck_fun,        /* vec */
  1893.     ck_index,    /* index */
  1894.     ck_index,    /* rindex */
  1895.     ck_fun,        /* sprintf */
  1896.     ck_formline,    /* formline */
  1897.     ck_fun,        /* ord */
  1898.     ck_fun,        /* chr */
  1899.     ck_fun,        /* crypt */
  1900.     ck_fun,        /* ucfirst */
  1901.     ck_fun,        /* lcfirst */
  1902.     ck_fun,        /* uc */
  1903.     ck_fun,        /* lc */
  1904.     ck_fun,        /* quotemeta */
  1905.     ck_rvconst,    /* rv2av */
  1906.     ck_null,    /* aelemfast */
  1907.     ck_null,    /* aelem */
  1908.     ck_null,    /* aslice */
  1909.     ck_fun,        /* each */
  1910.     ck_fun,        /* values */
  1911.     ck_fun,        /* keys */
  1912.     ck_delete,    /* delete */
  1913.     ck_delete,    /* exists */
  1914.     ck_rvconst,    /* rv2hv */
  1915.     ck_null,    /* helem */
  1916.     ck_null,    /* hslice */
  1917.     ck_fun,        /* unpack */
  1918.     ck_fun,        /* pack */
  1919.     ck_split,    /* split */
  1920.     ck_fun,        /* join */
  1921.     ck_null,    /* list */
  1922.     ck_null,    /* lslice */
  1923.     ck_fun,        /* anonlist */
  1924.     ck_fun,        /* anonhash */
  1925.     ck_fun,        /* splice */
  1926.     ck_fun,        /* push */
  1927.     ck_shift,    /* pop */
  1928.     ck_shift,    /* shift */
  1929.     ck_fun,        /* unshift */
  1930.     ck_sort,    /* sort */
  1931.     ck_fun,        /* reverse */
  1932.     ck_grep,    /* grepstart */
  1933.     ck_null,    /* grepwhile */
  1934.     ck_grep,    /* mapstart */
  1935.     ck_null,    /* mapwhile */
  1936.     ck_null,    /* range */
  1937.     ck_null,    /* flip */
  1938.     ck_null,    /* flop */
  1939.     ck_null,    /* and */
  1940.     ck_null,    /* or */
  1941.     ck_null,    /* xor */
  1942.     ck_null,    /* cond_expr */
  1943.     ck_null,    /* andassign */
  1944.     ck_null,    /* orassign */
  1945.     ck_null,    /* method */
  1946.     ck_subr,    /* entersub */
  1947.     ck_null,    /* leavesub */
  1948.     ck_fun,        /* caller */
  1949.     ck_fun,        /* warn */
  1950.     ck_fun,        /* die */
  1951.     ck_fun,        /* reset */
  1952.     ck_null,    /* lineseq */
  1953.     ck_null,    /* nextstate */
  1954.     ck_null,    /* dbstate */
  1955.     ck_null,    /* unstack */
  1956.     ck_null,    /* enter */
  1957.     ck_null,    /* leave */
  1958.     ck_null,    /* scope */
  1959.     ck_null,    /* enteriter */
  1960.     ck_null,    /* iter */
  1961.     ck_null,    /* enterloop */
  1962.     ck_null,    /* leaveloop */
  1963.     ck_null,    /* return */
  1964.     ck_null,    /* last */
  1965.     ck_null,    /* next */
  1966.     ck_null,    /* redo */
  1967.     ck_null,    /* dump */
  1968.     ck_null,    /* goto */
  1969.     ck_fun,        /* exit */
  1970.     ck_fun,        /* open */
  1971.     ck_fun,        /* close */
  1972.     ck_fun,        /* pipe_op */
  1973.     ck_fun,        /* fileno */
  1974.     ck_fun,        /* umask */
  1975.     ck_fun,        /* binmode */
  1976.     ck_fun,        /* tie */
  1977.     ck_fun,        /* untie */
  1978.     ck_fun,        /* tied */
  1979.     ck_fun,        /* dbmopen */
  1980.     ck_fun,        /* dbmclose */
  1981.     ck_select,    /* sselect */
  1982.     ck_select,    /* select */
  1983.     ck_eof,        /* getc */
  1984.     ck_fun,        /* read */
  1985.     ck_fun,        /* enterwrite */
  1986.     ck_null,    /* leavewrite */
  1987.     ck_listiob,    /* prtf */
  1988.     ck_listiob,    /* print */
  1989.     ck_fun,        /* sysopen */
  1990.     ck_fun,        /* sysread */
  1991.     ck_fun,        /* syswrite */
  1992.     ck_fun,        /* send */
  1993.     ck_fun,        /* recv */
  1994.     ck_eof,        /* eof */
  1995.     ck_fun,        /* tell */
  1996.     ck_fun,        /* seek */
  1997.     ck_trunc,    /* truncate */
  1998.     ck_fun,        /* fcntl */
  1999.     ck_fun,        /* ioctl */
  2000.     ck_fun,        /* flock */
  2001.     ck_fun,        /* socket */
  2002.     ck_fun,        /* sockpair */
  2003.     ck_fun,        /* bind */
  2004.     ck_fun,        /* connect */
  2005.     ck_fun,        /* listen */
  2006.     ck_fun,        /* accept */
  2007.     ck_fun,        /* shutdown */
  2008.     ck_fun,        /* gsockopt */
  2009.     ck_fun,        /* ssockopt */
  2010.     ck_fun,        /* getsockname */
  2011.     ck_fun,        /* getpeername */
  2012.     ck_ftst,    /* lstat */
  2013.     ck_ftst,    /* stat */
  2014.     ck_ftst,    /* ftrread */
  2015.     ck_ftst,    /* ftrwrite */
  2016.     ck_ftst,    /* ftrexec */
  2017.     ck_ftst,    /* fteread */
  2018.     ck_ftst,    /* ftewrite */
  2019.     ck_ftst,    /* fteexec */
  2020.     ck_ftst,    /* ftis */
  2021.     ck_ftst,    /* fteowned */
  2022.     ck_ftst,    /* ftrowned */
  2023.     ck_ftst,    /* ftzero */
  2024.     ck_ftst,    /* ftsize */
  2025.     ck_ftst,    /* ftmtime */
  2026.     ck_ftst,    /* ftatime */
  2027.     ck_ftst,    /* ftctime */
  2028.     ck_ftst,    /* ftsock */
  2029.     ck_ftst,    /* ftchr */
  2030.     ck_ftst,    /* ftblk */
  2031.     ck_ftst,    /* ftfile */
  2032.     ck_ftst,    /* ftdir */
  2033.     ck_ftst,    /* ftpipe */
  2034.     ck_ftst,    /* ftlink */
  2035.     ck_ftst,    /* ftsuid */
  2036.     ck_ftst,    /* ftsgid */
  2037.     ck_ftst,    /* ftsvtx */
  2038.     ck_ftst,    /* fttty */
  2039.     ck_ftst,    /* fttext */
  2040.     ck_ftst,    /* ftbinary */
  2041.     ck_fun,        /* chdir */
  2042.     ck_fun,        /* chown */
  2043.     ck_fun,        /* chroot */
  2044.     ck_fun,        /* unlink */
  2045.     ck_fun,        /* chmod */
  2046.     ck_fun,        /* utime */
  2047.     ck_fun,        /* rename */
  2048.     ck_fun,        /* link */
  2049.     ck_fun,        /* symlink */
  2050.     ck_fun,        /* readlink */
  2051.     ck_fun,        /* mkdir */
  2052.     ck_fun,        /* rmdir */
  2053.     ck_fun,        /* open_dir */
  2054.     ck_fun,        /* readdir */
  2055.     ck_fun,        /* telldir */
  2056.     ck_fun,        /* seekdir */
  2057.     ck_fun,        /* rewinddir */
  2058.     ck_fun,        /* closedir */
  2059.     ck_null,    /* fork */
  2060.     ck_null,    /* wait */
  2061.     ck_fun,        /* waitpid */
  2062.     ck_exec,    /* system */
  2063.     ck_exec,    /* exec */
  2064.     ck_fun,        /* kill */
  2065.     ck_null,    /* getppid */
  2066.     ck_fun,        /* getpgrp */
  2067.     ck_fun,        /* setpgrp */
  2068.     ck_fun,        /* getpriority */
  2069.     ck_fun,        /* setpriority */
  2070.     ck_null,    /* time */
  2071.     ck_null,    /* tms */
  2072.     ck_fun,        /* localtime */
  2073.     ck_fun,        /* gmtime */
  2074.     ck_fun,        /* alarm */
  2075.     ck_fun,        /* sleep */
  2076.     ck_fun,        /* shmget */
  2077.     ck_fun,        /* shmctl */
  2078.     ck_fun,        /* shmread */
  2079.     ck_fun,        /* shmwrite */
  2080.     ck_fun,        /* msgget */
  2081.     ck_fun,        /* msgctl */
  2082.     ck_fun,        /* msgsnd */
  2083.     ck_fun,        /* msgrcv */
  2084.     ck_fun,        /* semget */
  2085.     ck_fun,        /* semctl */
  2086.     ck_fun,        /* semop */
  2087.     ck_require,    /* require */
  2088.     ck_fun,        /* dofile */
  2089.     ck_eval,    /* entereval */
  2090.     ck_null,    /* leaveeval */
  2091.     ck_null,    /* entertry */
  2092.     ck_null,    /* leavetry */
  2093.     ck_fun,        /* ghbyname */
  2094.     ck_fun,        /* ghbyaddr */
  2095.     ck_null,    /* ghostent */
  2096.     ck_fun,        /* gnbyname */
  2097.     ck_fun,        /* gnbyaddr */
  2098.     ck_null,    /* gnetent */
  2099.     ck_fun,        /* gpbyname */
  2100.     ck_fun,        /* gpbynumber */
  2101.     ck_null,    /* gprotoent */
  2102.     ck_fun,        /* gsbyname */
  2103.     ck_fun,        /* gsbyport */
  2104.     ck_null,    /* gservent */
  2105.     ck_fun,        /* shostent */
  2106.     ck_fun,        /* snetent */
  2107.     ck_fun,        /* sprotoent */
  2108.     ck_fun,        /* sservent */
  2109.     ck_null,    /* ehostent */
  2110.     ck_null,    /* enetent */
  2111.     ck_null,    /* eprotoent */
  2112.     ck_null,    /* eservent */
  2113.     ck_fun,        /* gpwnam */
  2114.     ck_fun,        /* gpwuid */
  2115.     ck_null,    /* gpwent */
  2116.     ck_null,    /* spwent */
  2117.     ck_null,    /* epwent */
  2118.     ck_fun,        /* ggrnam */
  2119.     ck_fun,        /* ggrgid */
  2120.     ck_null,    /* ggrent */
  2121.     ck_null,    /* sgrent */
  2122.     ck_null,    /* egrent */
  2123.     ck_null,    /* getlogin */
  2124.     ck_fun,        /* syscall */
  2125. };
  2126. #endif
  2127.  
  2128. #ifndef DOINIT
  2129. EXT U32 opargs[];
  2130. #else
  2131. EXT U32 opargs[] = {
  2132.     0x00000000,    /* null */
  2133.     0x00000000,    /* stub */
  2134.     0x00000104,    /* scalar */
  2135.     0x00000004,    /* pushmark */
  2136.     0x00000014,    /* wantarray */
  2137.     0x00000004,    /* const */
  2138.     0x00000044,    /* gvsv */
  2139.     0x00000044,    /* gv */
  2140.     0x00001140,    /* gelem */
  2141.     0x00000044,    /* padsv */
  2142.     0x00000040,    /* padav */
  2143.     0x00000040,    /* padhv */
  2144.     0x00000040,    /* padany */
  2145.     0x00000000,    /* pushre */
  2146.     0x00000044,    /* rv2gv */
  2147.     0x00000044,    /* rv2sv */
  2148.     0x00000014,    /* av2arylen */
  2149.     0x00000040,    /* rv2cv */
  2150.     0x00000000,    /* anoncode */
  2151.     0x00000104,    /* prototype */
  2152.     0x00000201,    /* refgen */
  2153.     0x00000106,    /* srefgen */
  2154.     0x0000098c,    /* ref */
  2155.     0x00009104,    /* bless */
  2156.     0x00000008,    /* backtick */
  2157.     0x00001108,    /* glob */
  2158.     0x00000008,    /* readline */
  2159.     0x00000008,    /* rcatline */
  2160.     0x00000104,    /* regcmaybe */
  2161.     0x00000104,    /* regcomp */
  2162.     0x00000040,    /* match */
  2163.     0x00000154,    /* subst */
  2164.     0x00000054,    /* substcont */
  2165.     0x00000114,    /* trans */
  2166.     0x00000004,    /* sassign */
  2167.     0x00002208,    /* aassign */
  2168.     0x0000020d,    /* chop */
  2169.     0x0000098c,    /* schop */
  2170.     0x0000020d,    /* chomp */
  2171.     0x0000098c,    /* schomp */
  2172.     0x00000994,    /* defined */
  2173.     0x00000904,    /* undef */
  2174.     0x00000984,    /* study */
  2175.     0x0000098c,    /* pos */
  2176.     0x00000164,    /* preinc */
  2177.     0x00000154,    /* i_preinc */
  2178.     0x00000164,    /* predec */
  2179.     0x00000154,    /* i_predec */
  2180.     0x0000016c,    /* postinc */
  2181.     0x0000015c,    /* i_postinc */
  2182.     0x0000016c,    /* postdec */
  2183.     0x0000015c,    /* i_postdec */
  2184.     0x0000110e,    /* pow */
  2185.     0x0000112e,    /* multiply */
  2186.     0x0000111e,    /* i_multiply */
  2187.     0x0000112e,    /* divide */
  2188.     0x0000111e,    /* i_divide */
  2189.     0x0000113e,    /* modulo */
  2190.     0x0000111e,    /* i_modulo */
  2191.     0x00001209,    /* repeat */
  2192.     0x0000112e,    /* add */
  2193.     0x0000111e,    /* i_add */
  2194.     0x0000112e,    /* subtract */
  2195.     0x0000111e,    /* i_subtract */
  2196.     0x0000110e,    /* concat */
  2197.     0x0000010e,    /* stringify */
  2198.     0x0000111e,    /* left_shift */
  2199.     0x0000111e,    /* right_shift */
  2200.     0x00001136,    /* lt */
  2201.     0x00001116,    /* i_lt */
  2202.     0x00001136,    /* gt */
  2203.     0x00001116,    /* i_gt */
  2204.     0x00001136,    /* le */
  2205.     0x00001116,    /* i_le */
  2206.     0x00001136,    /* ge */
  2207.     0x00001116,    /* i_ge */
  2208.     0x00001136,    /* eq */
  2209.     0x00001116,    /* i_eq */
  2210.     0x00001136,    /* ne */
  2211.     0x00001116,    /* i_ne */
  2212.     0x0000113e,    /* ncmp */
  2213.     0x0000111e,    /* i_ncmp */
  2214.     0x00001116,    /* slt */
  2215.     0x00001116,    /* sgt */
  2216.     0x00001116,    /* sle */
  2217.     0x00001116,    /* sge */
  2218.     0x00001116,    /* seq */
  2219.     0x00001116,    /* sne */
  2220.     0x0000111e,    /* scmp */
  2221.     0x0000110e,    /* bit_and */
  2222.     0x0000110e,    /* bit_xor */
  2223.     0x0000110e,    /* bit_or */
  2224.     0x0000012e,    /* negate */
  2225.     0x0000011e,    /* i_negate */
  2226.     0x00000116,    /* not */
  2227.     0x0000010e,    /* complement */
  2228.     0x0000110e,    /* atan2 */
  2229.     0x0000098e,    /* sin */
  2230.     0x0000098e,    /* cos */
  2231.     0x0000090c,    /* rand */
  2232.     0x00000904,    /* srand */
  2233.     0x0000098e,    /* exp */
  2234.     0x0000098e,    /* log */
  2235.     0x0000098e,    /* sqrt */
  2236.     0x0000098e,    /* int */
  2237.     0x0000099c,    /* hex */
  2238.     0x0000099c,    /* oct */
  2239.     0x0000098e,    /* abs */
  2240.     0x0000099c,    /* length */
  2241.     0x0009110c,    /* substr */
  2242.     0x0001111c,    /* vec */
  2243.     0x0009111c,    /* index */
  2244.     0x0009111c,    /* rindex */
  2245.     0x0000210d,    /* sprintf */
  2246.     0x00002105,    /* formline */
  2247.     0x0000099e,    /* ord */
  2248.     0x0000098e,    /* chr */
  2249.     0x0000110e,    /* crypt */
  2250.     0x0000010e,    /* ucfirst */
  2251.     0x0000010e,    /* lcfirst */
  2252.     0x0000010e,    /* uc */
  2253.     0x0000010e,    /* lc */
  2254.     0x0000010e,    /* quotemeta */
  2255.     0x00000048,    /* rv2av */
  2256.     0x00001304,    /* aelemfast */
  2257.     0x00001304,    /* aelem */
  2258.     0x00002301,    /* aslice */
  2259.     0x00000408,    /* each */
  2260.     0x00000408,    /* values */
  2261.     0x00000408,    /* keys */
  2262.     0x00000104,    /* delete */
  2263.     0x00000114,    /* exists */
  2264.     0x00000048,    /* rv2hv */
  2265.     0x00001404,    /* helem */
  2266.     0x00002401,    /* hslice */
  2267.     0x00001100,    /* unpack */
  2268.     0x0000210d,    /* pack */
  2269.     0x00011108,    /* split */
  2270.     0x0000210d,    /* join */
  2271.     0x00000201,    /* list */
  2272.     0x00022400,    /* lslice */
  2273.     0x00000205,    /* anonlist */
  2274.     0x00000205,    /* anonhash */
  2275.     0x00299301,    /* splice */
  2276.     0x0000231d,    /* push */
  2277.     0x00000304,    /* pop */
  2278.     0x00000304,    /* shift */
  2279.     0x0000231d,    /* unshift */
  2280.     0x00002d01,    /* sort */
  2281.     0x00000209,    /* reverse */
  2282.     0x00002541,    /* grepstart */
  2283.     0x00000048,    /* grepwhile */
  2284.     0x00002541,    /* mapstart */
  2285.     0x00000048,    /* mapwhile */
  2286.     0x00001100,    /* range */
  2287.     0x00001100,    /* flip */
  2288.     0x00000000,    /* flop */
  2289.     0x00000000,    /* and */
  2290.     0x00000000,    /* or */
  2291.     0x00001106,    /* xor */
  2292.     0x00000040,    /* cond_expr */
  2293.     0x00000004,    /* andassign */
  2294.     0x00000004,    /* orassign */
  2295.     0x00000040,    /* method */
  2296.     0x00000249,    /* entersub */
  2297.     0x00000000,    /* leavesub */
  2298.     0x00000908,    /* caller */
  2299.     0x0000021d,    /* warn */
  2300.     0x0000025d,    /* die */
  2301.     0x00000914,    /* reset */
  2302.     0x00000000,    /* lineseq */
  2303.     0x00000004,    /* nextstate */
  2304.     0x00000004,    /* dbstate */
  2305.     0x00000004,    /* unstack */
  2306.     0x00000000,    /* enter */
  2307.     0x00000000,    /* leave */
  2308.     0x00000000,    /* scope */
  2309.     0x00000040,    /* enteriter */
  2310.     0x00000000,    /* iter */
  2311.     0x00000040,    /* enterloop */
  2312.     0x00000000,    /* leaveloop */
  2313.     0x00000241,    /* return */
  2314.     0x00000044,    /* last */
  2315.     0x00000044,    /* next */
  2316.     0x00000044,    /* redo */
  2317.     0x00000044,    /* dump */
  2318.     0x00000044,    /* goto */
  2319.     0x00000944,    /* exit */
  2320.     0x0000961c,    /* open */
  2321.     0x00000e14,    /* close */
  2322.     0x00006614,    /* pipe_op */
  2323.     0x0000061c,    /* fileno */
  2324.     0x0000091c,    /* umask */
  2325.     0x00000604,    /* binmode */
  2326.     0x00021755,    /* tie */
  2327.     0x00000714,    /* untie */
  2328.     0x00000704,    /* tied */
  2329.     0x00011414,    /* dbmopen */
  2330.     0x00000414,    /* dbmclose */
  2331.     0x00111108,    /* sselect */
  2332.     0x00000e0c,    /* select */
  2333.     0x00000e0c,    /* getc */
  2334.     0x0091761d,    /* read */
  2335.     0x00000e54,    /* enterwrite */
  2336.     0x00000000,    /* leavewrite */
  2337.     0x00002e15,    /* prtf */
  2338.     0x00002e15,    /* print */
  2339.     0x00911604,    /* sysopen */
  2340.     0x0091761d,    /* sysread */
  2341.     0x0091161d,    /* syswrite */
  2342.     0x0091161d,    /* send */
  2343.     0x0011761d,    /* recv */
  2344.     0x00000e14,    /* eof */
  2345.     0x00000e0c,    /* tell */
  2346.     0x00011604,    /* seek */
  2347.     0x00001114,    /* truncate */
  2348.     0x0001160c,    /* fcntl */
  2349.     0x0001160c,    /* ioctl */
  2350.     0x0000161c,    /* flock */
  2351.     0x00111614,    /* socket */
  2352.     0x01116614,    /* sockpair */
  2353.     0x00001614,    /* bind */
  2354.     0x00001614,    /* connect */
  2355.     0x00001614,    /* listen */
  2356.     0x0000661c,    /* accept */
  2357.     0x0000161c,    /* shutdown */
  2358.     0x00011614,    /* gsockopt */
  2359.     0x00111614,    /* ssockopt */
  2360.     0x00000614,    /* getsockname */
  2361.     0x00000614,    /* getpeername */
  2362.     0x00000680,    /* lstat */
  2363.     0x00000680,    /* stat */
  2364.     0x00000694,    /* ftrread */
  2365.     0x00000694,    /* ftrwrite */
  2366.     0x00000694,    /* ftrexec */
  2367.     0x00000694,    /* fteread */
  2368.     0x00000694,    /* ftewrite */
  2369.     0x00000694,    /* fteexec */
  2370.     0x00000694,    /* ftis */
  2371.     0x00000694,    /* fteowned */
  2372.     0x00000694,    /* ftrowned */
  2373.     0x00000694,    /* ftzero */
  2374.     0x0000069c,    /* ftsize */
  2375.     0x0000068c,    /* ftmtime */
  2376.     0x0000068c,    /* ftatime */
  2377.     0x0000068c,    /* ftctime */
  2378.     0x00000694,    /* ftsock */
  2379.     0x00000694,    /* ftchr */
  2380.     0x00000694,    /* ftblk */
  2381.     0x00000694,    /* ftfile */
  2382.     0x00000694,    /* ftdir */
  2383.     0x00000694,    /* ftpipe */
  2384.     0x00000694,    /* ftlink */
  2385.     0x00000694,    /* ftsuid */
  2386.     0x00000694,    /* ftsgid */
  2387.     0x00000694,    /* ftsvtx */
  2388.     0x00000614,    /* fttty */
  2389.     0x00000694,    /* fttext */
  2390.     0x00000694,    /* ftbinary */
  2391.     0x0000091c,    /* chdir */
  2392.     0x0000021d,    /* chown */
  2393.     0x0000099c,    /* chroot */
  2394.     0x0000029d,    /* unlink */
  2395.     0x0000021d,    /* chmod */
  2396.     0x0000021d,    /* utime */
  2397.     0x0000111c,    /* rename */
  2398.     0x0000111c,    /* link */
  2399.     0x0000111c,    /* symlink */
  2400.     0x0000098c,    /* readlink */
  2401.     0x0000111c,    /* mkdir */
  2402.     0x0000099c,    /* rmdir */
  2403.     0x00001614,    /* open_dir */
  2404.     0x00000600,    /* readdir */
  2405.     0x0000060c,    /* telldir */
  2406.     0x00001604,    /* seekdir */
  2407.     0x00000604,    /* rewinddir */
  2408.     0x00000614,    /* closedir */
  2409.     0x0000001c,    /* fork */
  2410.     0x0000001c,    /* wait */
  2411.     0x0000111c,    /* waitpid */
  2412.     0x0000291d,    /* system */
  2413.     0x0000295d,    /* exec */
  2414.     0x0000025d,    /* kill */
  2415.     0x0000001c,    /* getppid */
  2416.     0x0000091c,    /* getpgrp */
  2417.     0x0000991c,    /* setpgrp */
  2418.     0x0000111c,    /* getpriority */
  2419.     0x0001111c,    /* setpriority */
  2420.     0x0000001c,    /* time */
  2421.     0x00000000,    /* tms */
  2422.     0x00000908,    /* localtime */
  2423.     0x00000908,    /* gmtime */
  2424.     0x0000099c,    /* alarm */
  2425.     0x0000091c,    /* sleep */
  2426.     0x0001111d,    /* shmget */
  2427.     0x0001111d,    /* shmctl */
  2428.     0x0011111d,    /* shmread */
  2429.     0x0011111d,    /* shmwrite */
  2430.     0x0000111d,    /* msgget */
  2431.     0x0001111d,    /* msgctl */
  2432.     0x0001111d,    /* msgsnd */
  2433.     0x0111111d,    /* msgrcv */
  2434.     0x0001111d,    /* semget */
  2435.     0x0011111d,    /* semctl */
  2436.     0x0000111d,    /* semop */
  2437.     0x000009c0,    /* require */
  2438.     0x00000140,    /* dofile */
  2439.     0x00000140,    /* entereval */
  2440.     0x00000100,    /* leaveeval */
  2441.     0x00000000,    /* entertry */
  2442.     0x00000000,    /* leavetry */
  2443.     0x00000100,    /* ghbyname */
  2444.     0x00001100,    /* ghbyaddr */
  2445.     0x00000000,    /* ghostent */
  2446.     0x00000100,    /* gnbyname */
  2447.     0x00001100,    /* gnbyaddr */
  2448.     0x00000000,    /* gnetent */
  2449.     0x00000100,    /* gpbyname */
  2450.     0x00000100,    /* gpbynumber */
  2451.     0x00000000,    /* gprotoent */
  2452.     0x00001100,    /* gsbyname */
  2453.     0x00001100,    /* gsbyport */
  2454.     0x00000000,    /* gservent */
  2455.     0x00000114,    /* shostent */
  2456.     0x00000114,    /* snetent */
  2457.     0x00000114,    /* sprotoent */
  2458.     0x00000114,    /* sservent */
  2459.     0x00000014,    /* ehostent */
  2460.     0x00000014,    /* enetent */
  2461.     0x00000014,    /* eprotoent */
  2462.     0x00000014,    /* eservent */
  2463.     0x00000100,    /* gpwnam */
  2464.     0x00000100,    /* gpwuid */
  2465.     0x00000000,    /* gpwent */
  2466.     0x00000014,    /* spwent */
  2467.     0x00000014,    /* epwent */
  2468.     0x00000100,    /* ggrnam */
  2469.     0x00000100,    /* ggrgid */
  2470.     0x00000000,    /* ggrent */
  2471.     0x00000014,    /* sgrent */
  2472.     0x00000014,    /* egrent */
  2473.     0x0000000c,    /* getlogin */
  2474.     0x0000211d,    /* syscall */
  2475. };
  2476. #endif
  2477.